﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crosland.Automotriz.Seguridad.Entity;

namespace Crosland.Automotriz.Seguridad.DataAccess
{
    public class clsT_Seg_Usuario_VendedorDAO
    {
    
        private Automotriz_TesisEntities bd = new Automotriz_TesisEntities();
        public bool Insertar(T_SEG_USUARIO_VENDEDOR Obj)
        {
            try
            {
                bd.AddObject("T_SEG_USUARIO_VENDEDOR", Obj);
                bd.SaveChanges();
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }


        public bool Insertar_T_SEG(int ID_SEG_USUARIO_VENDEDOR, int ID_ORG_VENTA, int ID_CANAL, string ID_USUARIO, int ID_VENDEDOR)
        {
            try
            {
                bd.ExecuteStoreCommand("INSERT INTO T_SEG_USUARIO_VENDEDOR (ID_SEG_USUARIO_VENDEDOR,ID_ORG_VENTA,ID_CANAL,ID_USUARIO,ID_VENDEDOR) VALUES (" + ID_SEG_USUARIO_VENDEDOR + "," + ID_ORG_VENTA + "," + ID_CANAL + ",'" + ID_USUARIO + "'," + ID_VENDEDOR + ")");
                return true;
            }
            catch 
            {
                return false;
            }

         
        }



        public bool Modificar(T_SEG_USUARIO_VENDEDOR obj)
        {
            try
            {
                bd.AttachTo("T_SEG_USUARIO_VENDEDOR", obj);
                bd.ObjectStateManager.ChangeObjectState(obj, System.Data.EntityState.Modified);
                bd.SaveChanges();
            }
            catch (Exception)
            {
                return false;

            }
            return true;
        }

        public bool Eliminar(T_SEG_USUARIO_VENDEDOR obj)
        {
            try
            {
                bd.AttachTo("T_SEG_USUARIO_VENDEDOR", obj);
                bd.DeleteObject(obj);
                bd.SaveChanges();
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }




        public int UltimoNumero()
        {
            int max = 0;

            try
            {
                max = bd.T_SEG_USUARIO_VENDEDOR.Select(x => x.ID_SEG_USUARIO_VENDEDOR).Max();


            }
            catch (Exception)
            {
                return max;
            }

            return max;

        }



        public bool EliminarRelacion(string id_usuario) {

            try
            {
                bd.ExecuteStoreCommand("DELETE FROM T_SEG_USUARIO_VENDEDOR WHERE ID_USUARIO ='"+id_usuario+"'");
                return true;
            }
            catch 
            {

                return false;
            }
            }









        public List<clsT_Seg_Usuario_Vendedor> lista(string id_usuario)
        {
           Crosland.Automotriz.Core.AutomotrizEntities ContextoDeObjs = new  Crosland.Automotriz.Core.AutomotrizEntities();

           List<clsT_Seg_Usuario_Vendedor> list = new List<clsT_Seg_Usuario_Vendedor>();

            try
            {
                var q = from v in ContextoDeObjs.TD_VENDEDOR
                        from o in ContextoDeObjs.TD_ORG_VTA
                        from c in ContextoDeObjs.TD_CANAL_DISTRIB
                        from s in ContextoDeObjs.T_SEG_USUARIO_VENDEDOR
                        where s.ID_VENDEDOR == v.ID_VENDEDOR &&
                        s.ID_ORG_VENTA == o.ID_ORG_VTA &&
                        s.ID_CANAL == c.ID_CANAL_DISTRIB && s.ID_USUARIO==id_usuario
                        select new clsT_Seg_Usuario_Vendedor
                        {
                            NOMBRE_APELLIDO=v.NOMBRE + " " + v.APELLIDO,
                            DES_ORG_VTA = o.DES_ORG_VTA,
                            DES_CANAL_DISTRIB = c.DES_CANAL_DISTRIB,
                            ID_SEG_USUARIO_VENDEDOR = s.ID_SEG_USUARIO_VENDEDOR,
                            ID_CANAL = s.ID_CANAL,
                            ID_ORG_VTA = s.ID_ORG_VENTA,
                            ID_USUARIO = s.ID_USUARIO,
                            ID_VENDEDOR = s.ID_VENDEDOR
                        };








                list = q.ToList();
            }
            catch (Exception)
            {}

            return list;

        }


    }
}
